package com.zone.domain.rebate.service;

import com.zone.domain.rebate.model.entity.UserBehaviorRebateOrderEntity;
import com.zone.domain.rebate.model.entity.UserRebateCreateOrderEntity;
import com.zone.domain.rebate.model.valobj.BehaviorTypeEnum;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;

/**
 * @author: zongzi
 * @description: TODO
 * @date: 2025/3/3
 */
public interface IBehaviorRebateService {

    /**
     * 创建用户返利流水单
     *
     * @param createOrderEntity 入参
     */
    void createUserBehaviorOrder(UserRebateCreateOrderEntity createOrderEntity);

    /**
     * 查询用户返利流水单集合
     *
     * @param userId       用户id
     * @param behaviorType 行为类型
     * @param orderDate    下单日期
     * @return
     */
    List<UserBehaviorRebateOrderEntity> queryUserBehaviorRebateOrderList(String userId,
                                                                         BehaviorTypeEnum behaviorType,
                                                                         LocalDate orderDate);
}
